package workCount;

import java.io.IOException;
import java.net.URISyntaxException;

public class Main {

    public static void main(String[] args)
            throws URISyntaxException, IOException, InterruptedException, ClassNotFoundException {
        //自定义变量
        //定义HDFS链接地址，需要自行修改
        String URL = "hdfs://192.168.152.128:9000";
        //定义数据所在的windows本地路径，需要自行修改wordCount文件存放位置
        //操作文件名字为wordCount.txt，路径自定义
        //在Windows下的路径表达
        String localDir = "D:\\新建文件夹\\data\\wordCount.txt";
        //在Linux下的路径表达
        //String localDir = "/root/wordCount.txt";

        //固定变量
        //定义HDFS用户
        String user = "root";
        //定义处理的原始数据导入路径
        String srcDir = "/input";
        //定义处理完成输出的路径
        String destDir = "/output";
        //需要处理的文件所在的HDFS位置
        String fileName = srcDir + "/wordCount.txt";

        //该Main类为执行HDFS连接
        HDFS_client client = new HDFS_client(URL, user);

        //判定目录是否存在，如果不存在则创建目录，如果存在则删除原有目录并创建
        client.createDir(srcDir);

        //上传需要操作的wordCount文件
        client.uploadFile(localDir, srcDir);

        //查看上传的文件内容
        System.out.println("==========\n" + "当前需要处理的文件内容");
        client.printFile(fileName);

        //删除输出的目录
        client.deleteFile(destDir);

        //下面不需要大家完成
        //执行wordCount内容
        workCount count = new workCount(URL);
        count.wordCount_main(fileName, fileName, destDir);

        //查看处理完成的文件内容
        System.out.println("==========" + "\n当前处理完成的文件内容\n" + "==========");
        client.printFile(destDir);

        //断开与HDFS的连接
        client.close();

    }

}